#!/usr/bin/python3
# -*- coding:utf-8 -*-
""""
@Author: 李吉凯
@Email: lijk34925@hundsun.com
@Time: 2022/11/28 14:01
@File: 产品风险评估查询_导出.py
"""

from BladeFerm.Lib.Common import logger, data_processing
from BladeFerm.hui12_common.check_data import check_data_not_contains, check_file_exit
from BladeFerm.hui2_app import FE
from BladeFerm.Lib.Common import DownPath
from BladeFerm.utils.basic_opration import delete_dir_files, clear_dir
from 基础公共脚本.公共方法_hui2 import open_menu


def product_risk_query_refresh_data(input_data=None, ui_expect=None):
    open_menu({'子系统名称': '反洗钱系统', '菜单名称': input_data.get('菜单名称')})
    if input_data.get("表头名称", None):
        grid = FE.table_new({'text': input_data.get("表头名称")})
    else:
        grid = FE.table_new()
    grid.refresh()


# 示例：导出数据到文件
# @data_processing 装饰器，数据预处理。确保blade平台调试时数据与本地数据保持一致。
@data_processing
def product_risk_query_export_data(input_data=None, ui_expect=None):
    # 清空目录
    res = clear_dir(DownPath)
    logger.info(f"res: {res}")

    open_menu({'子系统名称': '反洗钱系统', '菜单名称': input_data.get('菜单名称')})
    # 导出 数据
    if input_data.get("表头名称", None):
        grid = FE.table_new({'text': input_data.get("表头名称")})
    else:
        grid = FE.table_new()
    is_all = True if input_data.get('导出全部否', '是') == '是' else False
    grid.export(is_all=is_all, rows=input_data.get('导出数据行', None))

    # 校验 检查文件是否存在
    check_file_exit(ui_expect.get("文件名称", "风险等级查询"))
    # todo：校验文件内容---各组自己评估


@data_processing
def product_risk_query_set_col_name(input_data=None, ui_expect=None):
    logger.debug(f'DownPath： {DownPath}')
    # 进入 风险等级查询 菜单
    open_menu({'子系统名称': '反洗钱系统', '菜单名称': input_data.get('菜单名称')})
    if input_data.get("表头名称", None):
        grid = FE.table_new({'text': input_data.get("表头名称")})
    else:
        grid = FE.table_new()
    grid.refresh()
    cancel_cols = input_data.get('取消列名')
    grid.set_col_name(cancel_cols)
    col_name = grid.get_title_list()
    check_data_not_contains(ui_expect.get('取消的列名'), col_name)


